package com.itheima.springbootcondition.Condition;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

/**
 * 条件控制类
 */
public class ClassCondition implements Condition {
    //条件判断，如果返回true，框架就会自动创建user对象，返回false框架就不会创建该对象
    @Override
    public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
        //需求：如果框架引入了jedis，就自动创建user对象，没有导入jedis就不创建
            //实现：使用Class.forName获取jedis的字节码文件，如果可以获取到就说明框架引入了jedis
                    //如果保存，说明框架没有引入Jedis
        try {
            Class.forName("redis.clients.jedis.Jedis");
            return true;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return false;
        }
    }
}
